Fix error on file upload to directories with setgid bit #3838
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It seems that I managed to introduce a regression in #3739, which I had missed during testing, but we noticed when testing 3.1.8 in a system where setgid bits are used. Sorry about that.
Uploading files to directories with the setgid bit set causes the response to the browser to be an internal server error as
PosixFile.handle_upload
returns the number of files affected by the chown operation to set the setgid bit rather than a Transfer or nil as intended.This PR fixes that by explicitly checking whether the return value is a Transfer or not.